<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Title</title>
  </head>
  <body>
    <script>
      // 1.适配器模式的作用是解决两个软件实体间的接口不兼容的问题。使用适配器模式之后，原本
      // 由于接口不兼容而不能工作的两个软件实体可以一起工作。
      // 2.如果现有的接口已经能够正常工作，那我们就永远不会用上适配器模式。适配器模式是一种
      // “亡羊补牢”的模式，没有人会在程序的设计之初就使用它
      let googleMap = {
        show: function () {
          console.log("执行googleMap");
        },
      };

      let baiduMap = {
        display: function () {
          console.log("执行baiduMap");
        },
      };

      let renderMap = function (map) {
        if (map.show instanceof Function) {
          map.show();
        }
      };

      // 增加适配器使其兼容show方法
      let baiduAdapter = {
        show: function () {
          return baiduMap.display();
        },
      };

      renderMap(googleMap);
      renderMap(baiduAdapter);
    </script>
  </body>
</html>
